#!/usr/bin/perl -w

# Facultad de Ingeniería, Universidad de Buenos Aires.
# 75.08 - Sistemas Operativos - Trabajo Práctico.
# 2do cuatrimestre de 2012.

# ListarW5.pl
# Uso:
#	$ perl ListarW5.pl [ARG]
#
# Descripción:
#	Parte del sistema W-FIVE. Resuelve consultas efectuadas
#	sobre los archivos de resultados globales y de resultados
#	detallados, mostrando la salida por stdout.
#
#	Argumentos:
#	-r
#		la consulta lista resultados extraídos de los archivos
#		de resulados detallados (resultados.PAT_ID).
#	-g
#		la consulta lista resultados extraídos de los archivos
#		de resultados globales (rglobales.PAT_ID).
#	-x
#		además de imprimir la salida por stdout graba el 
#		resultado en REPODIR/salida_xxx, con xxx un descriptor
#		que identifica unívocamente a cada ejecución del 
#		programa.
#	-h
#		muestra la ayuda.
#	
#	Los parámetros -g y -r son mutuamente excluyentes.
#
# Salida:
#	0	en caso de éxito;
#	-1 	en caso de error.
#

use Resultados;

# Imprime la ayuda de la función.
sub mostrarAyuda(){
	print("ayuda!!\n");
}

# Obtiene de ARGV los argumentos de llamado.
sub obtenerArgumentos(){
	foreach(@ARGV){
		if($_ eq "-h"){
			mostrarAyuda();	
			exit 0;
		}
		
		elsif($_ eq "-g"){
			$g = 1;	
		}
		
		elsif($_ eq "-x"){
			$x = 1;
		}
		
		elsif($_ eq "-r"){
			$r = 1;
		}
		
	}
	
	if($r && $g){
		print "Error: -g y -r son mutuamente excluyentes. Ver ayuda.\n";
		exit -1;
	}
}

	
sub main(){
	obtenerArgumentos();
	if($r){
		rSeleccionarFiltros();
		rMostrarResultados($x);
	} 
	elsif($g){
		gPreguntar();
	}
	exit 0;
}

main();
